$(function () {
  const form = layui.form;
  initArtCateList();
  // 获取文章列表
  function initArtCateList() {
    $.ajax({
      method: "GET",
      url: "/my/article/cates",
      success: function (res) {
        if (res.status !== 0) {
          return `获取数据失败`;
        }
        // 获取数据成功后，调用template()
        let htmlStr = template("tpl-table", res);
        $("tbody").html(htmlStr);
      },
    });
  }
  let indexAdd = null;
  // 点击添加类别，打开弹出层
  $("#addCate").on("click", function () {
    indexAdd = layer.open({
      type: 1,
      title: "添加文章分类",
      area: ["500px", "250px"],
      content: $("#dualog-add").html(),
    });
  });
  // 通过事件委托，吧submit事件委托给body
  $("body").on("submit", "#formAdd", function (e) {
    e.preventDefault();
    $.ajax({
      method: "POST",
      url: "/my/article/addcates",
      data: $("#formAdd").serialize(),
      success: function (res) {
        if (res.status !== 0) {
          return layer.msg("新增文章分类失败");
        }
        // 重新获取文章列表;
        initArtCateList();
        // 关闭弹窗之前提示信息
        layer.msg("新增文章分类成功");
        // 关闭弹床，括号里的参数是定义好的发起弹窗
        layer.close(indexAdd);
      },
    });
  });

  // 点击编辑按钮，打开弹出层
  var indexEdit = null;
  // 通过事件委托，把事件委托给编辑按钮
  $("tbody").on("click", ".btn-edit", function (e) {
    indexEdit = layer.open({
      type: 1,
      title: "修改文章分类",
      area: ["500px", "250px"],
      content: $("#dualog-edit").html(),
    });
    // 根据当前数据条目的 id 发起请求获取该条数据
    let id = $(this).attr("data-id");

    $.ajax({
      mothod: "GET",
      url: `/my/article/cates/${id}`,
      success: function (res) {
        if (res.status == 0) {
          form.val("form-edit", res.data);
        }
      },
    });
  });

  // 通过事件委托，吧submit事件委托给body
  $("body").on("submit", "#formEdit", function (e) {
    e.preventDefault();
    $.ajax({
      method: "POST",
      url: "/my/article/updatecate",
      data: $(this).serialize(),
      success: function (res) {
        if (res.status !== 0) {
          return layer.msg("编辑文章类别失败！请重新编辑");
        }
        // 关闭弹出层
        layer.close(indexEdit);
        layer.msg("编辑成功！");
        initArtCateList();
      },
    });
  });

  // 删除某条分类列表
  $("tbody").on("click", ".btn-delete", function () {
    let id = $(this).attr("data-id");
    layer.confirm("是否删除该分类？", { icon: 3, title: "提示" }, function (index) {
      $.ajax({
        method: "GET",
        url: `/my/article/deletecate/${id}`,
        success: function (res) {
          if (res.status !== 0) {
            return layer.msg("删除失败，请重新删除！");
          }
          layer.msg("删除成功!");
          initArtCateList();
        },
      });
      layer.close(index);
    });
  });
});
